package com.gzsxy.rabbitmq.producer.config;

import lombok.Data;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @Description: 队列交换机配置类
 * @Author: xiaolong
 * @date: 2023/2/15 17:45
 * @Version: 1.0
 */
@Data
@ConfigurationProperties(prefix = "burn")
@Component
public class RabbitmqProperties {


    /**
     * 交换机X
     */
    public  String exchangeX = "X";

    /**
     * 队列QA
     */
    public  String queueA = "QA";

    /**
     * 队列QB
     */
    public  String queueB = "QB";


    /**
     * 死信交换机
     */
    public  String deadletterExchangeY = "Y";

    /**
     * 死信队列
     */
    public  String deadletterQueue = "QD";

    /**
     * 延迟队列优化
     */
    public  String queueC = "QC";


    //====================================================================================================
    //==================================基于插件延迟队列=======================================================
    //====================================================================================================
    /**
     * 插件延迟队列
     */
    public String delayedQueueName = "delayed.queue";

    /**
     * 插件延迟队列交换机
     */
    public  String delayedExchangeName = "delayed.exchange";

    /**
     * 插件延迟队列路由key
     */
    public String delayedRoutingKey = "delayed.routingkey";



    //====================================================================================================
    //==================================消息可靠队列配置=======================================================
    //====================================================================================================
    /**
     * 交换机Z
     */
    public String exchangeZ = "Z";

    /**
     * 队列QE
     */
    public String queueE = "QE";

    /**
     * 队列QE
     */
    public String queueF = "QF";

    /**
     * 死信交换机k
     */
    public String deadLetterExchangeK = "K";

    /**
     * 死信队列QG
     */
    public String deadLetterQueueG = "QG";
}
